package py.una.pol.ii.is2.dao.flota;

import java.util.List;
import javax.ejb.Local;
import py.una.pol.ii.is2.domain.flota.MarcaModelo;
import py.una.pol.ii.is2.domain.flota.MarcaModeloPK;

/**
 *  Define la interfaz MarcaModeloDAO.
 *  Las operaciones que soporta la interfaz son:
 *      a) insert --> inserción de un objeto de tipo MarcaModelo
 *      b) update --> actualización de un objeto de tipo MarcaModelo
 *      c) delete --> eliminación de un objeto de tipo MarcaModelo
 *      d) find --> búsqueda de un objeto de tipo MarcaModelo
 *      e) getListaMarcaModelos --> listado de entidades de tipo MarcaModelo
 *  @author mbenitez
 *  @date 03/05/2009
 */
@Local
public interface MarcaModeloDAO {
    /**
     * Permite la inserción de un objeto de tipo MarcaModelo
     * @param objeto Elemento a insertar
     * @return true si la operación tuvo éxito, en otro caso false
     * @throws java.lang.Exception
     */
    public boolean insert(MarcaModelo objeto) throws Exception;
    /**
     * Permite la actualización de un objeto de tipo MarcaModelo
     * @param objeto Elemento a editar
     * @return true si la operación tuvo éxito, en otro caso false
     * @throws java.lang.Exception
     */
    public boolean update(MarcaModelo objeto) throws Exception;
    /**
     * Permite la eliminación de un objeto de tipo MarcaModelo
     * @param objeto Elemento a eliminar
     * @return true si la operación tuvo éxito, en otro caso false
     * @throws java.lang.Exception
     */
    public boolean delete(MarcaModelo objeto) throws Exception;
    /**
     * Busca un registro de la tabla MarcaModelo por el código de la misma
     * @param objeto Código de la MarcaModelo a buscar
     * @return MarcaModelo encontrada, en otro caso null
     * @throws java.lang.Exception
     */
    public MarcaModelo find(MarcaModeloPK codObjeto) throws Exception;
    /**
     * Permite recuperar una lista de entidades ordenadas por la clave primaria.
     * La lista obedece a una restricción que recibe como parámetro pudiendo éste ser null.
     *
     * @param condicion Restricción de búsqueda
     * @return Lista de entidades, en otro caso null.
     * @throws java.lang.Exception
     */
    public List<MarcaModelo> getListaMarcaModelos(String condicion) throws Exception;
}